package hello

import (
	"fmt"
)

var str = `
	█───████─█──█────███─███────██─██─███─████─█──█─████────████──███
	█───█──█─██─█────█───█───────███───█──█──█─██─█─█───────█──██──█─
	█───████─█─██────███─███──────█────█──█──█─█─██─█─██────█──██──█─
	█───█──█─█──█──────█─█───────███───█──█──█─█──█─█──█────█──██──█─
	███─█──█─█──█────███─███────██─██─███─████─█──█─████────████──███`

func SetTitle(title string) {
	str = title
}

// FmtASCIIGenerator 控制台打印
func FmtASCIIGenerator(name, version, id string, metadata ...map[string]string) {
	fmt.Println(name + " starting...")

	fmt.Println(str)

	detail := `
┌───────────────────────────────────────────────────────────────────────────────────────`

	detail += fmt.Sprintf("\n├── %s: %s", "Name", name)
	detail += fmt.Sprintf("\n├── %s: %s", "Version", version)
	detail += fmt.Sprintf("\n├── %s: %s", "ID", id)
	if len(metadata) > 0 && metadata[0] != nil {
		detail += fmt.Sprintf("\n├── %s: %s", "Metadata", "")
		for k, p := range metadata[0] {
			detail += fmt.Sprintf("\n├────── %s: %s", k, p)
		}
	}

	detail += `
└───────────────────────────────────────────────────────────────────────────────────────
`
	fmt.Println(detail)
}
